package com.libraryManage.mapper;

import com.libraryManage.commons.utils.KVModel;
import com.libraryManage.commons.utils.ResponseEntity;
import com.libraryManage.entity.BookHomeDo;
import com.libraryManage.entity.ManagerDo;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 *李勇负责的6个接口
 * 1.用户数量
 * 2.图书总数
 * 3.统计借书的热门类型
 * 4.前七天的借阅数
 * 5.统计结束超期情况，不包括借阅数字图示
 * 6.前七日借阅数
 */
@Repository
public interface HomePageMapper {
    /**
     * 用户总数量
     * @return
     */
    int  userCount();

    /**
     * 图书总数
     * @return
     */
    int bookCount();

    /**
     * 将b_student表中数据按专业数量
     * @return
     */
    List<KVModel<String, Long>> selectMajorStatistics();

    /**
     * 将b_student表中数据按年龄数量
     * @return
     */
    List<KVModel<Integer, Long>> selectAgeStatistics();

    /**
     * 查询7天前的订单数，并按创建时间分组
     * @return
     */
    List<KVModel<String, Long>> selectBorrowCountStatistics(String startDay);

    /**
     * 查询7天前的交易金额，并按创建时间分组
     * @return
     */
    List<KVModel<String, Long>> selectOutTimeCountStatistics(String startDay);

    /**
     * 随机获取图书
     * @return
     */
    List<BookHomeDo> getBookData();

    /**
     * 获取用户信息
     * @param id
     * @return
     */
    ManagerDo getUserData(Integer id);
}
